This application relates to monitoring users of a computer network, for example, to facilitate messaging between users in an online computer services environment.
The computer system 100 illustrated in FIG. 1 represents a typical hardware setup for executing software that allows a user to perform tasks such as communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic contentxe2x80x94that is, any combination of text, images, movies, music or other sounds, animations, 3D virtual worlds, and links to other objects. The system includes various input/output (I/O) devices (mouse 103, keyboard 105, display 107) and a general purpose computer 100 having a central processor unit (CPU) 121, an I/O unit 117 and a memory 109 that stores data and various programs such as an operating system 111, and one or more application programs 113. The computer system 100 also typically includes some sort of communications card or device 123 (e.g., a modem or network adapter) for exchanging data with a network 127 via a communications link 125 (e.g., a telephone line).
As shown in FIG. 2, a user of a computer system can access electronic content or other resources either stored locally at the user""s own client system 202, 202a, or 202b (for example, a personal or laptop computer) or remotely at one or more server systems 200. An example of a server system is a host computer that provides subscribers with online computer services such as e-mail, e-commerce, chat rooms, Internet access, electronic newspapers and magazines, etc.
Users of a host computer""s online services typically communicate with one or more central server systems 200 through client software executing on their respective client systems 202, 202a, or 202b. In practice, a server system 200 typically will not be a monolithic entity but rather will be a network of interconnected server computers, possibly physically dispersed from each other, each dedicated to its own set of duties and/or to a particular geographical region. In such a case, the individual servers are interconnected by a network of communication links, in know on fashions. One such server system is xe2x80x9cAmerica Online 4.0xe2x80x9d from America Online, incorporated of Virginia (also known as xe2x80x9cAOLxe2x80x9d).
One increasingly popular computer network-based activity is referred to as xe2x80x9cinstant messaging.xe2x80x9d An instant message is a form of electronic communication between users of a computer network in which a window pops-up on the recipient""s computer screen xe2x80x9cinstantlyxe2x80x9d and without the recipient""s having to access an e-mail program or otherwise check for messages. An instant message appears essentially as soon as the message sender clicks the send button subject to any time or propagation delays the message may have encountered on the network. In comparison to most e-mail applications, instant messaging enables users to communicate with each other in a more dynamic, urgent and interactive manner.
FIG. 3 is a screen shot of an Instant Message (IM) window 30 as used in AOL""s Instant Messenger (xe2x80x9cAIMxe2x80x9d) system. As shown therein, the window 30 includes a text display area 31 and text entry area 32. Both users involved in the IM under consideration (i.e., sender and recipient) would have a similar window displayed on his or her computer monitor. When one user (PhillipsJC) types a comment 34 in text entry area 32 and clicks the Send button 33 (or, depending on the configuration, presses the xe2x80x9cENTERxe2x80x9d key on the keyboard), the entered text (e.g., xe2x80x9cHey, did you see the game last night?xe2x80x9d) is displayed in the text display area 31 of the window 30 such that it is visible to both users. After FRsnafu enters a comment 35 in response and clicks the Send button 33, that comment 35 appears in the text display area 31 underneath the previous comment 34. This exchange of comments continues indefinitely until the users decide to terminate the exchange.
Typically, instant messages can be sent to another user only when that user is presently signed on to the computer service. Users who are signed off are unavailable to receive instant messages. Accordingly, another popular innovation introduced by America Online is the xe2x80x9cBuddy List,xe2x80x9d which allows users to monitor when other specified users (xe2x80x9cbuddiesxe2x80x9d) are signed onto and/or off of the computer service under consideration (e.g., AOL Instant Messenger).
As shown in FIG. 4, the Buddy List is implemented as a window 40 that lists specified users, or buddies, who are signed on to the AIM system. In the example shown, the Buddy List for user xe2x80x9cPhillipsJCxe2x80x9d indicates that four of PhillipsJC""s buddies 41-44 currently are signed on to the system and thus available to receive instant messages. The Buddy List is updated based on information received from a server to add or delete names of buddies as they sign on and off, respectively. Such Buddy List updates can be accompanied by various audible and visual indications to help notify the user that a buddy has signed on or off.
Despite the various notification mechanisms, a user nevertheless may fail to notice that a buddy with whom IM communication is desired has signed on to the system. For example, if the user is on the telephone or away from his or her office, one of that user""s buddies may sign on and then off again unnoticed by the user. Alternatively, or in addition, even when a user notices that a buddy has signed on to the system, the user nevertheless may be unable to send the buddy an IM because the user may be otherwise engaged (e.g., in a meeting).
Other reasons exist why a user might not notice that a buddy has signed on and/or miss an opportunity to send an IM to the buddy. For example, the user might have so many buddies on his buddy list that they cannot all fit on the display screen, or in a display window, at the same time. Moreover, the buddy list window might be obscured by other windows or objects and thus the user might not be able to notice when the buddy has signed on. In any of these and possibly other situations, the buddy may sign off of the system before the user is able to send an IM, thus missing the window of opportunity.
Accordingly, the present inventor recognized that it would be desirable to provide users with mechanisms for monitoring signons by buddies and/or communicating with the buddies immediately and automatically upon their signing on to the system.
Implementations may include various combinations of the following features.
In one aspect, a computer-implemented method of communicating with a user includes detecting that a previously unavailable user is available to receive messages, and automatically sending a predetermined message (e.g., an instant message) to the user upon detecting that the user has become available. Alternatively, or in addition, notification may be provided to a monitoring user that the previously unavailable user has become available and/or that the predetermined message was sent. The method may further include instantiating an instant messaging window on a computer screen of the monitoring user upon detecting that the previously unavailable user has become available. Optionally, the notified monitoring user may have previously specified the predetermined message. Moreover, a command specified by the monitoring user (e.g., an operating system command, a script, or an executable file) may be executed upon detecting the user""s availability.
Prior to the detection, a request may have been received from the monitoring user to monitor availability of the previously unavailable user. The received request may be queued until the previously unavailable user becomes available. The automatic sending of the predetermined message may include instantiating a window on the user""s computer screen displaying the predetermined message. The operations of detecting and the automatic message sending may be repeated each time the user newly becomes available. Moreover, the detecting and automatic message sending operations may be performed entirely on one or more server systems, entirely on one or more client systems, or in a distributed manner among one or more server systems and one or more client systems.
In another aspect, a computer-implemented instant messaging method may include detecting that a targeted user has signed on to an instant messaging service, and upon detecting the signon, automatically sending to the targeted user an instant message previously specified by a targeting user. The targeting user can receive notification that the targeted user has signed on to the instant messaging service and/or that the instant message was sent.
Automatically sending the instant message may include instantiating a window on the targeted user""s computer screen displaying the instant message and/or instantiating an instant messaging window on a computer screen of the targeting user upon detecting that the targeted user has signed on.
Prior to detection, a request may be received from the targeting user to monitor a signon by the targeted user. The received request may be queued until the targeted user signs on. The targeting user also may provide input specifying the instant message.
In another aspect, a computer-implemented method of monitoring users of a computer network may include receiving from a monitoring user a request to monitor availability of a monitored user, detecting that the monitored user is available (e.g., has signed on), and automatically performing a predefined operation specified by the monitoring user (e.g., send an instant message, provide notification to the monitoring user or another entity, or both, and/or execute an operating system command, a script, or an executable file) upon detecting that the monitored user is available.
In another aspect, a computer-implemented method, performed at a server, of communicating with a user on a computer network including a plurality of clients and at least one server, may include receiving a request to detect when a currently unavailable user becomes available to receive messages, detecting that the user has become available, and automatically sending a predetermined message to the user upon detecting that the user has become available.
In another aspect, a computer-implemented method, performed at a client, of communicating with a user on a computer network including a plurality of clients and at least one server, may include generating a request to detect when a currently unavailable user becomes available to receive messages, receiving notice that the user has become available, and automatically sending a predetermined message to the user.
In another aspect, an instant messaging system may include a server system and one or more client systems, each associated with a corresponding user, in communication with the server system. The server system may include software instructions for (i) monitoring a targeted user""s availability to receive instant messages, and (ii) sending a notification that a targeted user has become available to receive instant messages. Each of the one or more client systems may include software instructions for (i) queuing a request to send an instant message to a currently unavailable targeted user, and (ii) sending the instant message to the targeted user upon receiving notification from the server system that the targeted user has become available to receive instant messages.
One or more of the following advantages may be provided. The techniques and methods described here enable users to more reliably and efficiently track the comings and goings of their buddies. As a result, the likelihood of a user""s being able to communicate (e.g., by instant message) with buddies, even those who sign on to the computer service infrequently or sporadically, is enhanced dramatically.
In addition, communication between users is improved by providing mechanisms to automatically and instantly communicate with buddies upon their signing on to the computer service. The sending user needs neither to be aware of the buddy""s signing on, nor be available to send an IM, for this automatic and instant communication to occur. Rather, the sending user needs only to set up the xe2x80x9cpouncexe2x80x9d and the buddy at whom the pounce is targeted can receive an IM automatically and without requiring the sending user""s further attention or authorization.